package com.ruoyi.robot.service;

import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.robot.pojo.po.Robot;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.robot.pojo.dto.RobotDto;
import com.ruoyi.robot.pojo.po.RobotMes;
import com.ruoyi.robot.pojo.po.RobotParameter;

import java.util.List;

/**
 * <p>
 * 服务类
 * </p>
 *
 * @author yid
 * @since 2023-01-16
 */
public interface RobotService extends IService<Robot> {

    /**
     * 查询机器人信息
     *
     * @param productId 机器人信息主键
     * @return 机器人信息
     */
    public Robot selectRobotByProductId(Long productId);

    /**
     * 查询机器人信息列表
     *
     * @param robotDto 机器人信息
     * @return 机器人信息集合
     */
    public List<Robot> selectRobotList(RobotDto robotDto);

    /**
     * 新增机器人信息
     *
     * @param robotDto 机器人信息
     * @return 结果
     */
    public AjaxResult insertRobot(RobotDto robotDto);

    /**
     * 修改机器人信息
     *
     * @param robotDto 机器人信息
     * @return 结果
     */
    public int updateRobot(RobotDto robotDto);

    /**
     * 批量删除机器人信息
     *
     * @param productIds 需要删除的机器人信息主键集合
     * @return 结果
     */
    public int deleteRobotByProductIds(Long[] productIds);

    /**
     * 删除机器人信息信息
     *
     * @param productId 机器人信息主键
     * @return 结果
     */
    public int deleteRobotByProductId(Long productId);

    /**
     * 新增机器人坐标、清洁度等级
     *
     * @param robotMes 机器人坐标、清洁度等级信息
     * @return 结果
     */
    public AjaxResult addCordinates(RobotMes robotMes);

    /**
     * 查询机器人坐标、清洁度等级
     *
     * @param start 开始时间戳
     * @param end 结束时间戳
     * @return robotMes 机器人坐标、清洁度等级信息列表
     */
    public AjaxResult selectCordinates(String robotNo, Long start,Long end);

    /**
     * 新增机器人物联网数据
     *
     * @param robotParameter 机器人物联网数据
     * @return 结果
     */
    public AjaxResult addRobotParameter(RobotParameter robotParameter);

    /**
     * 查询机器人坐标、清洁度等级
     *
     * @param start 开始时间戳
     * @param end 结束时间戳
     * @return robotParameter 机器人物联网数据列表
     */
    public AjaxResult selectRobotParameter(String robotNo, Long start,Long end);

}
